home *** CD-ROM | disk | FTP | other *** search
/ Item MB Quick & Easy 2.0 / Item MB Quick & Easy 2.0.iso / mbfacad / mb35602.lsp < prev    next >
Text File  |  1998-03-15  |  8KB  |  210 lines

  1. ;=============356.02 WELLENKLEMMPROFIL + WELLE 6
  2.  
  3. (EAITDBL "0035602")
  4. (EAITmsg "mb_mld10" "\n" "002" nil) (princ "........") (princ EAITnrx) (princ "\n")
  5. (princ)
  6.  
  7. (defun C:35602V1 (/ P1 P0 Wi)
  8.    (EAITDBL "0035602")
  9.    (princ (strcat "\n\n" EAITbez1))
  10.    (EAITvari)
  11.    (EAITvars)
  12.    (setvar "ORTHOMODE" 0)
  13.    (EAITbpt EAITofpun 8 nil)
  14.    (setq P1 (getpoint))
  15.    (if (= P1 nil)(setq P1 (EAITrpt)))
  16.    (setvar "ORTHOMODE" 1)
  17.    (setvar "OSMODE" 0)
  18.    (EAITmsg "mb_mld10" "\n" "003" nil)            ;Drehwinkel
  19.    (command EAITege (strcat EAITpfn "35602V1") P1 "" "" EAITofkei pause)
  20.  
  21.    (setq Wi (EAITbw))
  22.    (command EAITege (strcat EAITpfn "EAITinfo") (polar P1 (+ Wi (EAITgib 268)) 9) "" "" ""
  23.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  24.    )
  25.    (EAITDBL "0035601")         ;Welle 6
  26.    (command EAITege (strcat EAITpfn "EAITinfo") (polar P1 (+ Wi (EAITgib 63)) 2) "" "" ""
  27.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  28.    )
  29.  
  30.    (EAITvarz2)
  31.    (princ)
  32. );defun V1
  33.  
  34.  
  35.  
  36. (defun C:35602S1 (/ P0 P1 P2 P3 P4 P5 P6 E1 E2 E3 E4 E5 Li
  37.                    Lix Wi KW D1 D305 BName n Ben2 W1 W2)
  38.    (EAITDBL "0035602")
  39.    (princ (strcat "\n\n" EAITbez1))
  40.    (EAITvari)
  41.    (if (not EAITlpr)(setq EAITlpr 0.0))
  42.    (EAITvars)
  43.    (EAITbpt nil nil nil)
  44.    (setq P1 (getpoint))
  45.    (if (= P1 nil)(setq P1 (EAITrpt)))
  46.    (EAITmsg "mb_mld1" "\n" "005" " <")(princ EAITlpr)(princ "> ")  ;Laenge < >
  47.    (initget (+ 2 4))
  48.    (setq Li (getdist " "))
  49.    (if (= Li nil)(setq Li EAITlpr))
  50.    (setq Li (EAITck Li))
  51.    (setq Li (atof (rtos (abs Li) 2 1)))
  52.    (princ "\n  -> ")(princ Li)
  53.  
  54.    (setvar "OSMODE" 0)
  55.    (setvar "ORTHOMODE" 0)
  56.    (initget 1)
  57.    (EAITmsg "mb_mld10" "\n" "008" nil)           ;Konstruktionsrichtung
  58.    (setq Wi (getangle P1))
  59.    (setq Wi (* 180.0 (/ Wi Pi)))
  60.    (cond 
  61.           ((and (>= Wi  0)  (< Wi  45)) (setq D305  3.05 D1  1.0 KW   0 W1 10  W2  14) )
  62.           ((and (>= Wi 45)  (< Wi  90)) (setq D305 -3.05 D1 -1.0 KW  90 W1 10  W2 316) )
  63.           ((and (>= Wi 90)  (< Wi 135)) (setq D305  3.05 D1  1.0 KW  90 W1 100 W2 104) )
  64.           ((and (>= Wi 135) (< Wi 180)) (setq D305 -3.05 D1 -1.0 KW 180 W1 100 W2  46) )
  65.           ((and (>= Wi 180) (< Wi 225)) (setq D305  3.05 D1  1.0 KW 180 W1 190 W2 194) )
  66.           ((and (>= Wi 225) (< Wi 270)) (setq D305 -3.05 D1 -1.0 KW 270 W1 190 W2 136) )
  67.           ((and (>= Wi 270) (< Wi 315)) (setq D305  3.05 D1  1.0 KW 270 W1 280 W2 184) )
  68.           (T                            (setq D305 -3.05 D1 -1.0 KW   0 W1 280 W2 226) )
  69.    )
  70.    (setq P2 (polar P1 (EAITgib KW) Li)
  71.          P3 (polar P2 (EAITgib (+ KW 90)) D305)
  72.          P4 (polar P1 (EAITgib (+ KW 90)) D305)
  73.          P5 (polar P1 (EAITgib (+ KW 90)) D1)
  74.          P6 (polar P2 (EAITgib (+ KW 90)) D1)
  75.    )
  76.    (command EAITlay EAITlse "EAIT50" "")
  77.    (command EAITlin P1 P2 "")
  78.    (setq E1 (entlast))
  79.    (command EAITlin P2 P3 P4 P1 "" EAITlin P5 P6 "")
  80.    (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3)
  81.          E5 (entnext E4))
  82.  
  83.    (setq BName (EAITbnr))
  84.    (command EAITblo BName P1 E1 E2 E3 E4 E5 "")
  85.    (command EAITege BName P1 "" "" "")
  86.  
  87.    (setq Li (rtos (abs Li) 2 1))
  88.    (command EAITege (strcat EAITpfn "EAITinfo") (polar P1 (EAITgib W1) 4) "" "" ""
  89.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 Li (rtos EAITb1 2 1) EAITnr
  90.    )
  91.    (EAITDBL "0035601")           ;Welle 6
  92.    (command EAITege (strcat EAITpfn "EAITinfo") (polar P1 (EAITgib W2) 10) "" "" ""
  93.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 Li (rtos EAITb1 2 1) EAITnr
  94.    )
  95.  
  96.    (EAITvarz2)
  97.    (princ)
  98. );defun S1
  99.  
  100.  
  101.  
  102.  
  103.  
  104. (defun C:35602D1 ( / P0 P01 P1 P2 P3 P9 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20  PS1
  105.                      E1 E2 E3 E4 E5 E6 E7 Li Wi Wi1 BName NL)
  106.    (EAITDBL "0035602")
  107.    (princ (strcat "\n\n" EAITbez1))
  108.    (EAITvari)
  109.    (if (not EAITlpr)(setq EAITlpr 0.0))
  110.    (EAITvars)
  111.    (setvar "ORTHOMODE" 0)
  112.    (setvar "OSMODE" 32)
  113.    (EAITmsg "mb_mld12" "\n" "015" " : ")  ;1. Nutlinie :
  114.    (setq NL (entsel " "))
  115.    (setq P01(osnap (cadr NL) EAITofnaec))
  116.    (setvar "APERTURE" 4)
  117.    (setvar "OSMODE" 0)
  118.    (setq P9  (osnap P01 EAITofend)
  119.          P10 (osnap P01 EAITofmit)
  120.          Wi1 (angle P9 P10)
  121.    )
  122.    (EAITbpt nil nil (strcat (EAITmg "mb_mld14" "001")(princ " : ")(EAITmg "mb_mld10" "015")));Bezugspunkt auf zweiter Nutlinie : (RETURN = relativ)
  123.    (setq P1 (getpoint P01))
  124.    (if (= P1 nil)(setq P1 (EAITrpt)))
  125.    (setq PS1 (inters P1 (polar P1 (+ Wi1(/ Pi 2))10) P9 P10 nil))
  126.    (while (NOT(equal (distance P1 PS1) 8 0.0000000001))
  127.      (EAITmsg "mb_mld14" "\n\n" "002" nil)    ;Falscher Punkt !
  128.      (EAITbpt nil nil (strcat (EAITmg "mb_mld14" "003")(princ " : ")(EAITmg "mb_mld10" "015")));Bezugspunkt auf zweiter Nutlinie : (RETURN = relativ)
  129.      (setq P1 (getpoint P01))
  130.      (if (= P1 nil)(setq P1 (EAITrpt)))
  131.      (setq PS1 (inters P1 (polar P1 (+ Wi1(/ Pi 2))10) P9 P10 nil))
  132.    )
  133.  
  134.    (setvar "OSMODE" 512)
  135.    (initget (+ 1 2 4))
  136.    (EAITmsg "mb_mld14" "\n\n" "004" " :<")(princ EAITofnaec)(princ ">")  ;Richtung auf Profil (Punkt auf zweiter Nutlinie)
  137.    (setq P0 (getpoint P1))
  138.    (setq Wi (angle P1 P0))
  139.    (while (AND (NOT(equal Wi Wi1 0.000000001))(NOT (equal Wi (+ Wi1 Pi) 0.000000001)))
  140.      (EAITmsg "mb_mld14" "\n\n" "002" nil)    ;Falscher Punkt !
  141.      (initget (+ 1 2 4))
  142.      (EAITmsg "mb_mld14" "\n\n" "005" " :<")(princ EAITofnaec)(princ ">")  ;Neue Richtung auf Profil (Punkt auf zweiter Nutlinie)
  143.      (setq P0 (getpoint P1))
  144.      (setq Wi (angle P1 P0))
  145.    )    
  146.  
  147.    (setvar "OSMODE" 9)
  148.    (EAITmsg "mb_mld1" "\n" "005" " <")(princ EAITlpr)(princ "> ")  ;Laenge < >
  149.    (initget (+ 2 4))
  150.    (setq Li (getdist " "))
  151.    (if (= Li nil)(setq Li EAITlpr))
  152.    (setq Li (EAITck Li))
  153.    (setq Li (atof (rtos (abs Li) 2 1)))
  154.    (princ "\n  -> ")(princ Li)
  155.  
  156.    (setvar "OSMODE" 0)
  157.    (setq PS1 (inters P1 (polar P1 (+ Wi(/ Pi 2))10) P9 P10 nil)
  158.         P2 (mapcar '/ (mapcar '+ P1 PS1) '(2 2 2))
  159.         P3 (polar P2 Wi Li)
  160.          P11 (polar P2  (- Wi (EAITgib 90)) 6.0)
  161.          P12 (polar P11 Wi Li)
  162.          P13 (polar P12 (+ Wi (EAITgib 90)) 12.0)
  163.          P14 (polar P11 (+ Wi (EAITgib 90)) 12.0)
  164.          P15 (polar P11 (+ Wi (EAITgib 90)) 3.0)
  165.          P16 (polar P12 (+ Wi (EAITgib 90)) 3.0)
  166.          P17 (polar P15 (+ Wi (EAITgib 90)) 6.0)
  167.          P18 (polar P16 (+ Wi (EAITgib 90)) 6.0)
  168.          P19 (polar P2  (+ Wi (EAITgib 180)) 5)
  169.          P20 (polar P19 Wi (+ Li 10))
  170.    )
  171.    (if (/= (cdr (assoc 2 (entget (car NL)))) nil) (command EAITurs NL))
  172.    (command EAITzom EAITzomi (mapcar '/ (mapcar '+ P2 P3) '(2 2 2)) P12 P14)
  173.    (if (/= (ssget (polar P2 (+ Wi (/ Pi 4))(/ 4 (cos (/ Pi 4))))) nil)
  174.          (command EAITbru (polar P2 (+ Wi (/ Pi 4))(/ 4 (cos (/ Pi 4)))) EAITbre
  175.                           (polar P2 (+ Wi (/ Pi 2)) 4) (polar P3 (+ Wi (/ Pi 2)) 4)
  176.          )
  177.    )
  178.    (if (/= (ssget (polar P2 (- Wi (/ Pi 4))(/ 4 (cos (/ Pi 4))))) nil)
  179.          (command EAITbru (polar P2 (- Wi (/ Pi 4))(/ 4 (cos (/ Pi 4)))) EAITbre
  180.                           (polar P2 (- Wi (/ Pi 2)) 4) (polar P3 (- Wi (/ Pi 2)) 4)
  181.          )
  182.    )
  183.    (command EAITzom EAITzov)
  184.    (command EAITlay EAITlse "EAIT50" ""
  185.             EAITlin P11 P12 "" )
  186.    (setq E1 (entlast))
  187.    (command EAITlin P12 P13 P14 P11 "" EAITlin P15 P16 "" EAITlin P17 P18 ""
  188.             EAITlay EAITlse "EAITstpg" ""
  189.             EAITlin P19 P20 "")
  190.    (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3)
  191.          E5 (entnext E4) E6 (entnext E5) E7 (entnext E6))
  192.  
  193.    (setq BName (EAITbnr))
  194.    (command EAITblo BName P1 E1 E2 E3 E4 E5 E6 E7 "")
  195.    (command EAITege BName P1 "" "" "")
  196.    (setq Li (rtos (abs Li) 2 1))
  197.    (command EAITege (strcat EAITpfn "EAITinfo") (polar P11 (+ Wi (EAITgib 9)) 5) "" "" ""
  198.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 Li (rtos EAITb1 2 1) EAITnr
  199.    )
  200.    (EAITDBL "0035601")   ;Welle 6
  201.    (command EAITege (strcat EAITpfn "EAITinfo") (polar P11 (+ Wi (EAITgib 56)) 9) "" "" ""
  202.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 Li (rtos EAITb1 2 1) EAITnr
  203.    )
  204.  
  205.    (EAITvarz2)
  206.    (princ)
  207. );defun D1
  208.  
  209. (princ)
  210.